/**
 * @author xuzj
 */
CQCIS.tree.ColumnRootUI = Ext.extend(CQCIS.tree.ColumnNodeUI, {
    renderElements: function(n, a, targetNode, bulkRender){
        this.indentMarkup = n.parentNode ? n.parentNode.ui.getChildIndent() : '';
        var t = n.getOwnerTree();
        var cols = t.columns;
        var bw = 2;
        var c = cols[0];
        var buf = ['<li class="x-tree-node"><div ext:tree-node-id="', n.id, '" class="x-tree-node-el x-tree-node-leaf ', a.cls, '">'];
        buf.push('<div class="x-tree-col" style="width:', c.width - bw, 'px;">');
        buf.push('<input class="x-tree-node-cb" type="checkbox" value="', this.node.id, '"');
        buf.push(' style="display:', this.node.ownerTree.checkbox ? "inline" : "none", ';"', ' />');
        buf.push('<span class="x-tree-node-indent">', this.indentMarkup, "</span>");
        buf.push('<img src="', this.emptyIcon, '" class="x-tree-ec-icon x-tree-elbow">');
        buf.push('<img src="', a.icon || this.emptyIcon, '" class="x-tree-node-icon');
        buf.push((a.icon ? " x-tree-node-inline-icon" : ""), (a.iconCls ? " " + a.iconCls : ""), '" unselectable="on">');
        buf.push('<a hidefocus="on" class="x-tree-node-anchor" href="', a.href ? a.href : "#", '" tabIndex="1" ');
        buf.push(a.hrefTarget ? ' target="' + a.hrefTarget + '"' : "", '>');
        buf.push('<span unselectable="on">');
        buf.push(n.text || (c.renderer ? c.renderer(a[c.dataIndex], n, a) : a[c.dataIndex]), "</span></a>", "</div>");
        for (var i = 1, len = cols.length; i < len; i++) {
            c = cols[i];
            buf.push('<div class="x-tree-col ', (c.cls ? c.cls : ''));
            buf.push('" style="width:', c.width - bw, 'px;">');
            buf.push('<div class="x-tree-col-text">');
            buf.push('<a hidefocus="on" class="x-tree-node-anchor" href="');
            buf.push(a.href ? a.href : "#", '" tabIndex="1" ');
            buf.push(a.hrefTarget ? ' target="' + a.hrefTarget + '"' : "", '>');
            buf.push('<span unselectable="on">');
            buf.push((c.renderer ? c.renderer(a[c.dataIndex], n, a) : a[c.dataIndex]));
            buf.push("</span></a>", "</div>", "</div>");
        }
        buf.push('<div class="x-clear"></div></div>', '<ul class="x-tree-node-ct" style="display:none;"></ul>', "</li>");
        
        if (bulkRender !== true && n.nextSibling && n.nextSibling.ui.getEl()) {
            this.wrap = Ext.DomHelper.insertHtml("beforeBegin", n.nextSibling.ui.getEl(), buf.join(""));
        } else {
            this.wrap = Ext.DomHelper.insertHtml("beforeEnd", targetNode, buf.join(""));
        }
        this.elNode = this.wrap.childNodes[0];
        this.ctNode = this.wrap.childNodes[1];
        var cs = this.elNode.firstChild.childNodes;
        this.checkbox = cs[0];
        this.indentNode = cs[1];
        this.ecNode = cs[2];
        this.iconNode = cs[3];
        this.anchor = cs[4];
        this.textNode = cs[4].firstChild;
    }
});
